package com.chisheng.caa.pojo.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

@Data
@ApiModel("排课课表")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ClassScheduleDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("层次")
    @ExcelProperty("层次")
    private String schoolRunningLevel;

    @ApiModelProperty("课程代码")
    @ExcelProperty("课程代码")
    private String courseCode;

    @ApiModelProperty("课程名称")
    @ExcelProperty("课程名称")
    private String courseName;

    @ApiModelProperty("课程性质")
    @ExcelProperty("课程性质")
    private String courseNature;

    @ApiModelProperty("课程类别或课程归属")
    @ExcelProperty("课程类别或课程归属")
    private String courseTypeOrCourseAffiliation;

    @ApiModelProperty("总体课程分类")
    @ExcelProperty("总体课程分类")
    private String courseCategory;

    @ApiModelProperty("是否教师教育类课程")
    @ExcelProperty("是否教师教育类课程")
    private String isTeacherEducationCourse;

    @ApiModelProperty("是否思想政治德育类课程")
    @ExcelProperty("是否思想政治德育类课程")
    private String isPoliticalCourse;

    @ApiModelProperty("是否法制类课程")
    @ExcelProperty("是否法制类课程")
    private String isLawCourse;

    @ApiModelProperty("是否民族类课程")
    @ExcelProperty("是否民族类课程")
    private String isNationalCourse;

    @ApiModelProperty("是否外语类课程")
    @ExcelProperty("是否外语类课程")
    private String isForeignCourse;

    @ApiModelProperty("是否美育类课程")
    @ExcelProperty("是否美育类课程")
    private String isAestheticCourse;

    @ApiModelProperty("是否劳动教育类课程")
    @ExcelProperty("是否劳动教育类课程")
    private String isLabourCourse;

    @ApiModelProperty("学分")
    @ExcelProperty("学分")
    private String credit;

    @ApiModelProperty("周学时数")
    @ExcelProperty("周学时数")
    private String weekPeriods;

    @ApiModelProperty("教学周数")
    @ExcelProperty("教学周数")
    private String numTeachingWeeks;

    @ApiModelProperty("总课时数")
    @ExcelProperty("总课时数（实践类课程不需填写，其他课程需要填写）")
    private Integer totalPeriods;

    @ApiModelProperty("任课教师")
    @ExcelProperty("任课教师")
    private String teacherName;

    @ApiModelProperty("限选人数")
    @ExcelProperty("限选人数")
    private String roomCapacity;

    @ApiModelProperty("建议年级")
    @ExcelProperty("建议年级")
    private Integer gradeSuggestion;

    @ApiModelProperty("开课班级")
    @ExcelProperty("开课班级")
    private String openingClass;

    @ApiModelProperty("开课学院")
    @ExcelProperty("开课学院")
    private String openingCollege;

    @ApiModelProperty("授课学院")
    @ExcelProperty("授课学院")
    private String teachingCollege;

    @ApiModelProperty("授课教师所属学院")
    @ExcelProperty("授课教师所属学院")
    private String collegeOfTeacher;

    @ApiModelProperty("实训室\\实验室节数（每周）")
    @ExcelProperty("实训室\\实验室节数（每周）")
    private Integer numLaboratories;

    @ApiModelProperty("多媒体节数（每周）")
    @ExcelProperty("多媒体节数（每周）")
    private Integer numMedias;

    @ApiModelProperty("机房节数（每周）")
    @ExcelProperty("机房节数（每周）")
    private Integer numMachineRooms;

    @ApiModelProperty("特殊要求")
    @ExcelProperty("特殊要求")
    private String specialRequirements;

    @ApiModelProperty("备注")
    @ExcelProperty("备注")
    private String attachment;

}
